﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace ZJK.Models.ExtractManage
{
    using DB_NH.DB_Model.ZJK;

    #region viewmodel的项目子类:vmProject
    /// <summary>
    /// viewmodel的项目子类
    /// </summary>
    public class vmProject
    {
        /// <summary>
        /// 项目ID
        /// </summary>
        public string projectId { get; set; }

        /// <summary>
        /// 项目名称
        /// </summary>
        public string projectName { get; set; }

        /// <summary>
        /// 项目代码
        /// </summary>
        public string projectCode { get; set; }
    }
    #endregion

    #region viewmodel的抽取选项类:vmExtractOption
    /// <summary>
    /// viewmodel的抽取选项类
    /// </summary>
    public class vmExtractOption
    {
        /// <summary>
        /// 项目ID
        /// </summary>
        public string projectId { get; set; }

        /// <summary>
        /// 项目名称
        /// </summary>
        public string projectName { get; set; }

        /// <summary>
        /// 项目代码
        /// </summary>
        public string projectCode { get; set; }
    }
    #endregion

    #region viewmodel的专家类:vmExpert
    /// <summary>
    /// viewmodel的专家类
    /// </summary>
    public class vmExpert
    {
        /// <summary>
        /// 专家ID
        /// </summary>
        public string expertId { get; set; }

        /// <summary>
        /// 专家姓名
        /// </summary>
        public string expertName { get; set; }

        /// <summary>
        /// 专家电话
        /// </summary>
        public string expertPhone { get; set; }

        /// <summary>
        /// 专家移动电话
        /// </summary>
        public string expertMobile { get; set; }

        /// <summary>
        /// 专家专业
        /// </summary>
        public string expertProfession { get; set; }

        /// <summary>
        /// 专家所属项目分类
        /// </summary>
        public string expertCategorys { get; set; }

        /// <summary>
        /// 专家工作单位
        /// </summary>
        public string expertUnit { get; set; }

        /// <summary>
        /// 专家职称
        /// </summary>
        public string expertTitle { get; set; }
    }
    #endregion

    #region viewmodel的抽取结果类:vmExtractResult
    /// <summary>
    /// viewmodel的抽取结果类
    /// </summary>
    public class vmExtractResult
    {
        /// <summary>
        /// 记录ID
        /// </summary>
        public string recId { get; set; }

        /// <summary>
        /// 专家类
        /// </summary>
        public vmExpert expert { get; set; }

        /// <summary>
        /// 抽取结果标志：
        /// 0：未启动系统自动抽取；
        /// -1：不参加评标；
        /// 1：系统自动抽取中；
        /// 99：确定参加评标；
        /// </summary>
        public int recResultFlag { get; set; }

        /// <summary>
        /// 抽取结果信息
        /// </summary>
        public string recResultMessage { get; set; }
    }
    #endregion

    #region viewmodel的专家分类:vmCategory
    /// <summary>
    /// viewmodel的专家分类
    /// </summary>
    public class vmCategory
    {
        /// <summary>
        /// 记录ID
        /// </summary>
        public string categoryId { get; set; }

        /// <summary>
        /// 上级记录ID
        /// </summary>
        public string parentId { get; set; }

        /// <summary>
        /// 代码
        /// </summary>
        public string categoryCode { get; set; }

        /// <summary>
        /// 名称
        /// </summary>
        public string categoryName { get; set; }
    }
    #endregion

    #region viewmodel的专家分类:vmCategoryJson
    /// <summary>
    /// viewmodel的专家分类
    /// </summary>
    public class vmCategoryJson
    {
        /// <summary>
        /// 记录ID
        /// </summary>
        public string id { get; set; }

        /// <summary>
        /// 上级记录ID
        /// </summary>
        public string pId { get; set; }

        /// <summary>
        /// 名称
        /// </summary>
        public string name { get; set; }
    }
    #endregion

    #region viewmodel的抽取首页类vmExtractIndex
    /// <summary>
    /// viewmodel for 专家抽取记录
    /// </summary>
    public class vmExtractIndex
    {
        /// <summary>
        /// 抽取时间
        /// </summary>
        public DateTime extractDate { get; set; }

        /// <summary>
        /// 抽取人ID
        /// </summary>
        public string extractUserID { get; set; }

        /// <summary>
        /// 抽取人姓名
        /// </summary>
        public string extractUserName { get; set; }

        /// <summary>
        /// 专家的所有分类列表
        /// </summary>
        public List<vmCategory> categorys { get; set; }

        /// <summary>
        /// 备选的项目列表
        /// </summary>
        public List<vmProject> bxProjects { get; set; }

        /// <summary>
        /// 已选的项目列表
        /// </summary>
        public List<vmProject> yxProjects { get; set; }

        /// <summary>
        /// 备选专家列表
        /// </summary>
        public List<vmExpert> bxExperts { get; set; }

        /// <summary>
        /// 已选专家列表
        /// </summary>
        public List<vmExpert> yxExperts { get; set; }

        /// <summary>
        /// 抽取结果列表
        /// </summary>
        public List<vmExtractResult> extractResults { get; set; }

        /// <summary>
        /// 当前选定的项目ID
        /// </summary>
        public string[] selectedProjectIDs { get; set; }

        /// <summary>
        /// 选择的专家专业
        /// </summary>
        public string selectedProfessions { get; set; }

        /// <summary>
        /// 选择的专家分类ID
        /// </summary>
        public string selectedCategorys { get; set; }

        public vmExtractIndex()
        {
            //初始化
            categorys = new List<vmCategory>();
            bxProjects = new List<vmProject>();
            yxProjects = new List<vmProject>();
            bxExperts = new List<vmExpert>();
            yxExperts = new List<vmExpert>();
            selectedProjectIDs = new string[] { };
            //selectedCategorys = new string[] { };
            //selectedProfessions = new string[] { };
        }
    }
    #endregion

    #region ViewModel抽取页面的第一步中对应项目已包含的抽取记录vmStep1ProjectExtractRecord
    /// <summary>
    /// 项目的抽取记录信息
    /// </summary>
    public class vmStep1ProjectExtractRecord
    {
        /// <summary>
        /// 抽取记录ID
        /// </summary>
        public string recId { get; set; }

        /// <summary>
        /// 抽取记录标题
        /// </summary>
        public string recTitle { get; set; }

        /// <summary>
        /// 抽取操作人姓名
        /// </summary>
        public string recOPuserName { get; set; }

        /// <summary>
        /// 抽取记录时间
        /// </summary>
        public string recDate { get; set; }
    }
    #endregion
}